package org.xg.study.boot.common.constant;

import lombok.AllArgsConstructor;
import lombok.Getter;

/**
 * @author CMG
 * @version 1.0
 * @cLassName ResponseCode
 * @description
 * @date 2021/8/25 11:31
 **/
@Getter
@AllArgsConstructor
public enum ResponseCode {
    /**
     * 请求成功
     */
    SUCCESS(000000, "success", "处理成功"),

    /**
     * 业务处理错误
     */
    FAILURE(901013, "Biz Exception", "业务处理错误"),

    /**
     * 请求未经授权
     */
    UN_AUTHORIZED(901001, "Request Unauthorized", "请求未经授权"),

    /**
     * 未找到方法
     */
    NOT_FOUND(901002, "404 Not Found", "未找到方法"),

    /**
     * 信息不能被读
     */
    MSG_NOT_READABLE(901003, "Message Can't be Read", "信息不能被读"),

    /**
     * 方法不支持
     */
    METHOD_NOT_SUPPORTED(901004, "Method Not Supported", "方法不支持"),

    /**
     * 不支持媒体类型
     */
    MEDIA_TYPE_NOT_SUPPORTED(901005, "Media Type Not Supported", "不支持媒体类型"),

    /**
     * 请求被拒绝
     */
    REQ_REJECT(901006, "Request Rejected", "请求被拒绝"),

    /**
     * 内部服务器错误
     */
    INTERNAL_SERVER_ERROR(901007, "Internal Server Error", "内部服务器错误"),

    /**
     * 请求参数不存在
     */
    PARAM_MISS(901008, "Missing Required Parameter", "请求参数不存在"),

    /**
     * 参数类型不匹配
     */
    PARAM_TYPE_ERROR(901009, "Parameter Type Mismatch", "参数类型不匹配"),

    /**
     * 参数绑定错误
     */
    PARAM_BIND_ERROR(901010, "Parameter Binding Error", "参数绑定错误"),

    /**
     * 参数验证错误
     */
    PARAM_VALID_ERROR(901011, "Parameter Validation Error", "参数验证错误"),

    /**
     * 数据处理失败
     */
    DATA_OPERATION_ERROR(901012, "data operation Error", "数据处理失败"),

    /**
     * 数据库异常
     */
    DATABASE_ERROR(999999, "DataBase Error", "数据库异常");

    final int retCode;

    final String retInfo;

    final String retMsg;
}
